﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Maestro_Proveedores.Forms
{
    public partial class ConsultarFacProveedor : Form
    {
        public ConsultarFacProveedor()
        {
            InitializeComponent();
        }

        public static string TIPO = "136";

        private void ConsultarFacProveedor_Load(object sender, EventArgs e)
        {

        }

        private void EncontrarProveedorPictureBox_Click(object sender, EventArgs e)
        {
            //--- el formulario debe estar guardado en la clase redirect, por que es muy pesado y demora mucho al abrirlo.
            try
            {
                herramientas.Redirect.getFormulario("BuscarProveedor").ShowDialog();
                //-- una vez se cierre el asistente utilizo el ID que supuestamente se selecciono de este formulario y lo guardo en el campo de busqueda.
                this.IDtextBox.Text = ((Forms.BuscarProveedor)herramientas.Redirect.getFormulario("BuscarProveedor")).IdEncontrado;
                //-- si el valor no es vacio, tonces realizo la busqueda.
                //if (!this.IDtextBox.Text.Equals(string.Empty))
                //{
                //    this.IDButton_Click(null, null);
                //}
            }
            catch (Exception ex)
            {
                herramientas.MessageException.show(ex);
            }
        }

        private void IDButton_Click(object sender, EventArgs e)
        {
            MAPICS.MAPICSDataSetTableAdapters.FAC_PRVTableAdapter fac_PRVTableAdapter = new MAPICS.MAPICSDataSetTableAdapters.FAC_PRVTableAdapter();
            string[] aggregate_columns = new string[] { "SumaTotal" };
            string[] aggregate_function = new string[] { "sum(VALOR_COP)" };
            Type[] columns_type = new Type[] { typeof(decimal) };

            fac_PRVTableAdapter.FillBy(this.mapicsDataSet.FAC_PRV, this.IDtextBox.Text, decimal.Parse(MAESTROS.ClassVarios.FechaMAPIC(this.inferiorDateTimePicker.Value.Date)), decimal.Parse(MAESTROS.ClassVarios.FechaMAPIC(this.SuperiorDateTimePicker.Value.Date)));

            if (this.mapicsDataSet.FAC_PRV.Count > 0)
            {
                System.Data.DataTable tabla = MAESTROS.ClassVarios.GroupBy(this.mapicsDataSet.FAC_PRV, aggregate_columns, aggregate_function, columns_type);
                if (tabla.Rows.Count > 0)
                {

                    string str =  tabla.Rows[0]["SumaTotal"].ToString();
                    double val = Double.Parse(str);
                    str = String.Format("{0:N5}",val);
                    
                    this.tOTALfACTURADOtextBox.Text = "$ "+str;
                    
                    this.NomProveedortextBox.Text = this.mapicsDataSet.FAC_PRV.Rows[0]["PROVEEDOR"].ToString();
                }
                else{
                    this.tOTALfACTURADOtextBox.Text = string.Empty;
                    this.NomProveedortextBox.Text = string.Empty;
                }
            }
            else
            {
                MessageBox.Show("No existe Información, par la consulta. Por favor intente nuevamente");
                this.tOTALfACTURADOtextBox.Text = string.Empty;
                this.NomProveedortextBox.Text = string.Empty;
            }
        }


        private void cargarDatosEnDataGridView()
        {
            //-- asigno los datos correspondientes al dataGridView
            //this.EvaluacionDataGridView.DataSource = this.dataTable;
            //-- solo muestro las columnas que son informativas
            //foreach (DataGridViewColumn col in this.EvaluacionDataGridView.Columns)
            //{
            //    //if (!col.Name.Equals("Nº TOTAL DE ORDENES DE COMPRA") && !col.Name.Equals("VALOR TOTAL($)") && !col.Name.Equals("ID") && !col.Name.Equals("RAZON SOCIAL") && !col.Name.Equals("RESULTADO FINAL") && !col.Name.Equals("RESULTADO FINAL(%)") && !col.Name.Equals("TIPO") && !col.Name.Equals("GRUPO") && !col.Name.Equals("SERVICIO_PRINCIPAL"))
            //    //    col.Visible = false;
            //}
            //-- actualizo el dataGridView
            // this.EvaluacionDataGridView.Refresh();
        }


        private void inferiorDateTimePicker_ValueChanged(object sender, EventArgs e)
        {
            this.SuperiorDateTimePicker.MinDate = this.inferiorDateTimePicker.Value;
        }

        private void SuperiorDateTimePicker_ValueChanged(object sender, EventArgs e)
        {
            this.inferiorDateTimePicker.MaxDate = this.SuperiorDateTimePicker.Value;
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            if (this.fACRUACIONpROVEEDORESdataGridView.Rows.Count > 0)
            {
                Exportacion.Exportacion.exportar(Exportacion.Exportacion.EnumTipoFormatosExportar.XLS, this.fACRUACIONpROVEEDORESdataGridView, "Consulta Facturaciòn de Proveedores (" + DateTime.Now.ToShortDateString().Replace("/", "-") + ")", true);

            }
            else {
                MessageBox.Show("No existen registros para exportar");
            }
        
        }

        

        


    }
}
